﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mimoza.Transport;

namespace Mimoza.AgentLayer.Communication
{
    public class RequestPolicies : TransferObjectGeneric<RequestPolicies, ReplyPolicies>
    {
        public RequestPolicies()
        {
        }

        public RequestPolicies(Guid hostId, Guid lastSyncId, Guid hostModifiedId)
        {
            HostId = hostId;
            HostModifiedId = hostModifiedId;
            LastSyncId = lastSyncId;
        }

        public Guid LastSyncId
        {
            get { return m_lastSyncId; }
            set { m_lastSyncId = value; }
        }

        public Guid HostId
        {
            get { return m_hostId; }
            set { m_hostId = value; }
        }

        public Guid HostModifiedId
        {
            get { return m_hostModifiedId; }
            set { m_hostModifiedId = value; }
        }

        Guid m_hostId;
        Guid m_lastSyncId;
        Guid m_hostModifiedId;
    }

    public class ReplyPolicies : TransferObjectGenericReply<ReplyPolicies>
    {
        public ReplyPolicies()
        {
        }

        public Mimoza.Common.PolicyRecord[] PoliciesRecords
        {
            get { return m_policiesRecords; }
            set { m_policiesRecords = value; }
        }

        public Guid EffectivePolicyId
        {
            get { return m_effectivePolicyId; }
            set { m_effectivePolicyId = value; }
        }

        public Mimoza.Common.HostRecord ServerHostRecord
        {
            get { return m_hostRecord; }
            set { m_hostRecord = value; }
        }

        Mimoza.Common.PolicyRecord[] m_policiesRecords;
        Guid m_effectivePolicyId;

        Mimoza.Common.HostRecord m_hostRecord = null;
    }
}
